'
Implement fully the below project using JavaFX:
Programming Project 3
The third programming project involves writing a program that produces a road trip cost
estimator with a GUI interface. The required GUI is shown below:
The text fields above the Calculate button are the input fields and the one below is the output
field. The output field should not be editable. Three of the input fields have combo boxes to their
right, which allow the data to be input as described below:
\uf0b7 The distance can be entered in either miles or kilometers
\uf0b7 The gasoline cost can be input in either dollars per gallon or dollars per liter
\uf0b7 The gas mileage can be input as either miles per gallon or kilometers per liter
The necessary calculations are as follows;
gasoline cost =
𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒
𝑔𝑎𝑠 𝑚𝑖𝑙𝑎𝑔𝑒
– \uf0b4 gasoline cost
total trip cost = gasoline cost + (hotel cost + food cost) \uf0b4 number of days + attractions
Your program should consist of two classes. The first class Project3 should define the GUI
illustrated above. The second class TripCost should be an immutable class that has at a
minimum a constructor that creates a trip cost object and a method that computes and returns the
total trip cost.
You are to submit two files.
1. The first is a .zip file that contains all the source code for the project. The .zip file
should contain only source code and nothing else, which means only the .java files. If
you elect to use a package the .java files should be in a folder whose name is the
package name. Every outer class should be in a separate .java file with the same name
as the class name. Each file should include a comment block at the top containing your
name, the project name, the date, and a short description of the class contained in that
file.
2. The second is a Word document (PDF or RTF is also acceptable) that contains the
documentation for the project, which should include the following:
a. A UML class diagram that includes all classes you wrote. Do not include
predefined classes
b. A test plan that includes test cases that you have created indicating what aspects
of the program each one is testing
c. A short paragraph on lessons learned from the project